Coffman conditions
1971 年に発表された論文
System Deadlocks
で E. Coffman が示した
デッドロック
が発生する 4 つの
必要条件
言い換えれば、デッドロックを満たすには以下の 4 つの条件を満たす必要がある
Mutual Exclusion(相互排他)
ある
リソース
は一度に 1 つの
スレッド
(
プロセス
)しか利用できない
Hold and Wait(保持と待機)
あるスレッドがすでにロックを保持したまま、他のリソースを待っている
No Preemption(
プリエンプション
なし)
他のスレッドが保持しているリソースを強制的に奪うことができない
Circular Wait(循環待機)
スレッドが循環的にリソースを待っている